package com.springboot.framework.controller.request;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import javax.validation.constraints.*;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author SWF
 * @date 2019/6/25 13:11
 **/
@Data
public class CouponsUpdateBean {
    
    @NotNull(message = "参数错误")
    private Integer couponsId;
    /** 优惠券名称 */
    @NotEmpty(message = "参数错误")
    private String couponsName;

    /** 优惠券面值 */
    @NotNull(message = "参数错误")
    @DecimalMin(value = "0.01", message = "优惠券面值不在规定范围内")
    @DecimalMax(value = "300", message = "优惠券面值不在规定范围内")
    private BigDecimal couponsAmount;

    /** 最小金额(满减金额) */
    @NotNull(message = "参数错误:满减金额")
    private Integer minimumAmount;

    /** 类型（1固定活动时间  2按领券时间计时） */
    @NotNull(message = "参数错误:活动类型")
    private Byte type;

    /** 有效时长 单位：天 */
    @Max(value = 730, message = "最多两年")
    @Min(value = 1, message = "最少一天")
    private Short effectiveDuration;

    /** 生效日期 */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date effectiveDate;

    /** 失效日期 */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date expiryDate;

    /** 适用范围（ 2店铺   4全场） */
    @NotNull(message = "参数错误:适用范围")
    private Byte couponsScope;

    /** 店铺id */
    private Integer shopId;

    /** 优惠券库存数量 */
    @NotNull(message = "库存数量错误")
    private Short couponsStock;

}
